package com.scs.application.modules.sys.service;

import com.alibaba.fastjson.JSONObject;
import com.scs.application.modules.sys.dto.DataViewDTO;

import java.util.List;

public interface DataViewService {
    /**
     * 根据视图Key删除视图信息
     *
     * @param viewKey
     * @return
     */
    Boolean deleteView(String viewKey);

    /**
     * 保存视图信息
     *
     * @param viewString
     * @return
     */
    JSONObject saveView(JSONObject dataViewJson);

    /**
     * 获取视图列表
     *
     * @return
     */
    List<DataViewDTO> getDataViewList();

    /**
     * 获取视图的SVN锁定状态
     *
     * @return
     */
    String listWithSvnLock();

    /**
     * 获取视图的Key列表
     *
     * @return
     */
    List<String> getDataviewViewKeyList();

    /**
     * 获取视图信息
     * @param viewKey
     * @return
     */
    String getView(String viewKey);

    /**
     * 根据项目属性确定哪个实现
     * @param flagProject
     * @return
     */
    Boolean isSupport(Boolean flagProject);

    /**
    * @Description： 同步产品所有
    * @Author wyt
    * @Date 2021/12/2
    */
    default String syncDataViewsAll(){
        return "非必须实现";
    };
}
